IP communication involves the transmission of messages in the form of one or more data packets. The data packets include a source address and at least one destination address. A switch is a network device that directs traffic towards the destination address. Switches include multiple inputs and multiple outputs. A crossbar switch includes a selectable connection from each of the multiple inputs to each of the multiple outputs. A crossbar switch permits only one data packet to be transmitted to any one output at any particular time.
One of the problems associated with switches is buffer bloat. Buffer bloat occurs in the form of increased latency and jitter when large buffers in the network are swamped by interactive applications such as voice over IP, real time video streaming, financial transactions, and other bandwidth hungry applications. Because of the downward trend in the price of memory, switch and router manufacturers have increased memory sizes used for the buffers. The increase in buffer size reduces the risk of dropped packets, but increased buffer sizes contribute to the buffer bloat. Large full or almost full buffers result in large delays experienced by the transmitted packets. This may cause timeouts or may otherwise result in a bad end-user experience.